package com.lrkj.payfee.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.lrkj.common.annotation.Excel;
import com.lrkj.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 交班管理对象 tb_hand_record
 *
 * @author yajun_ren
 * @date 2022-03-30
 */
@Data
public class HandRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private String id;

    /** 小区ID */
    @Excel(name = "小区ID")
    private String communityId;

    /** 交班单号 */
    @Excel(name = "交班单号")
    private String handNo;

    /** 交班人 */
    @Excel(name = "交班人")
    private String handPerson;

    /** 交班日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "交班日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date handTime;

    /** 交班区间 */
    @Excel(name = "交班区间")
    private String handSection;

    /** 交班金额 */
    @Excel(name = "交班金额")
    private BigDecimal handMoney;

    /** 审核人 */
    @Excel(name = "审核人")
    private String auditPerson;

    /** 审核状态 */
    @Excel(name = "审核状态")
    private String auditState;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date auditTime;


    /** 祖级id */
    @Excel(name = "祖级id")
    private String ancestors;

    private BigDecimal daySum;

    private String minDay;

    private String maxDay;

    private String status;

    private String auditStatus;


    /** 收款单号 */
    @Excel(name = "收款单号")
    private String skOdd;

    /** 收款金额 */
    @Excel(name = "收款金额")
    private BigDecimal skMoney;

    /** 付款单号 */
    @Excel(name = "付款单号")
    private String fkOdd;

    /** 付款金额 */
    @Excel(name = "付款金额")
    private BigDecimal fkMoney;

    private List<HandReceipt> handReceiptList;

    private List<HandAdvice> handAdviceList;

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("communityId", getCommunityId())
            .append("handNo", getHandNo())
            .append("handPerson", getHandPerson())
            .append("handTime", getHandTime())
            .append("handSection", getHandSection())
            .append("handMoney", getHandMoney())
            .append("auditPerson", getAuditPerson())
            .append("auditState", getAuditState())
            .append("auditTime", getAuditTime())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
